home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / MPW Oberon 2.1168 / OInterfaces / Dialogs.mod < prev    next >
Encoding:
Text File  |  1995-08-10  |  12.6 KB  |  415 lines  |  [TEXT/MPS ]

  1. (*
  2.      File:        Dialogs.mod
  3.  
  4.      Contains:    Dialog Manager interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.0.1 in “MPW Latest” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs.applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. *)
  19.  
  20. (*$IF UNDEFINED OLDROUTINENAMES*)
  21.   (*$SET OLDROUTINENAMES FALSE*)
  22. (*$END*)
  23. (*$IF UNDEFINED STRICT_WINDOWS*)
  24.   (*$SET STRICT_WINDOWS FALSE*)
  25. (*$END*)
  26. (*$TAGS-*)
  27. (*$CALLING PASCAL*)
  28. MODULE Dialogs;
  29.  
  30. IMPORT SYSTEM, Types, Quickdraw, Windows, TextEdit, Events;
  31.  
  32. (* $PUSH*)
  33. (* $ALIGN MAC68K*)
  34. (* $LibExport+*)
  35.  
  36. CONST
  37.     ctrlItem*                    = 4;
  38.     btnCtrl*                        = 0;
  39.     chkCtrl*                        = 1;
  40.     radCtrl*                        = 2;
  41.     resCtrl*                        = 3;
  42.     statText*                    = 8;
  43.     editText*                    = 16;
  44.     iconItem*                    = 32;
  45.     picItem*                        = 64;
  46.     userItem*                    = 0;
  47.     itemDisable*                    = 128;
  48.     ok*                            = 1;
  49.     cancel*                        = 2;
  50.     stopIcon*                    = 0;
  51.     noteIcon*                    = 1;
  52.     cautionIcon*                    = 2;
  53.  
  54. (* new, more standard names for dialog item constants *)
  55.     kControlDialogItem*            = ctrlItem;
  56.     kButtonDialogItem*            = ctrlItem + btnCtrl;
  57.     kCheckBoxDialogITem*            = ctrlItem + chkCtrl;
  58.     kRadioButtonDialogItem*        = ctrlItem + radCtrl;
  59.     kResourceControlDialogItem*    = ctrlItem + resCtrl;
  60.     kStaticTextDialogItem*        = statText;
  61.     kEditTextDialogItem*            = editText;
  62.     kIconDialogItem*                = iconItem;
  63.     kPictureDialogItem*            = picItem;
  64.     kUserDialogItem*                = userItem;
  65.     kItemDisableBit*                = itemDisable;
  66.     kStdOkItemIndex*                = ok;
  67.     kStdCancelItemIndex*            = cancel;
  68.     kStopIcon*                    = stopIcon;
  69.     kNoteIcon*                    = noteIcon;
  70.     kCautionIcon*                = cautionIcon;
  71.     
  72. (*$IF OLDROUTINENAMES*)
  73.     kOkItemIndex*                 = kStdOkItemIndex;
  74.     kCancelItemIndex*             = kStdCancelItemIndex;
  75. (*$END*)
  76.  
  77.     
  78. TYPE
  79.     DITLMethod* = INTEGER;
  80.  
  81.  
  82. CONST
  83.     overlayDITL*                    = 0;
  84.     appendDITLRight*                = 1;
  85.     appendDITLBottom*            = 2;
  86.  
  87.     
  88. TYPE
  89.     StageList* = INTEGER;
  90.  
  91.     DialogPropertyTag* = Types.OSType;
  92.  
  93. (*$IF STRICT_WINDOWS *)
  94.     DialogPtr* = Types.Ptr;
  95.  
  96.     DialogRef* = Types.Ptr;
  97.  
  98. (*$ELSE*)
  99.     DialogPtr* = Quickdraw.WindowPtr;
  100.  
  101.     DialogRef* = DialogPtr;
  102.  
  103. (*$END*)
  104.     SoundProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (soundNumber: INTEGER);
  105.     ModalFilterProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (theDialog: DialogPtr; VAR theEvent: Events.EventRecord; VAR itemHit: INTEGER): BOOLEAN;
  106.     UserItemProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (theWindow: Quickdraw.WindowPtr; itemNo: INTEGER);
  107.     SoundUPP* = Types.UniversalProcPtr;
  108.     ModalFilterUPP* = Types.UniversalProcPtr;
  109.     UserItemUPP* = Types.UniversalProcPtr;
  110.  
  111. CONST
  112.     uppSoundProcInfo* = $00000080; (* PROCEDURE (2 byte param); *)
  113.     uppModalFilterProcInfo* = $00000FD0; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param): 1 byte result; *)
  114.     uppUserItemProcInfo* = $000002C0; (* PROCEDURE (4 byte param, 2 byte param); *)
  115.  
  116. PROCEDURE NewSoundProc*(userRoutine: SoundProcPtr): SoundUPP;
  117.     (*$IF NOT GENERATINGCFM *)
  118.     INLINE PASCAL $2E9F;
  119.     (*$END*)
  120.  
  121. PROCEDURE NewModalFilterProc*(userRoutine: ModalFilterProcPtr): ModalFilterUPP;
  122.     (*$IF NOT GENERATINGCFM *)
  123.     INLINE PASCAL $2E9F;
  124.     (*$END*)
  125.  
  126. PROCEDURE NewUserItemProc*(userRoutine: UserItemProcPtr): UserItemUPP;
  127.     (*$IF NOT GENERATINGCFM *)
  128.     INLINE PASCAL $2E9F;
  129.     (*$END*)
  130.  
  131. PROCEDURE CallSoundProc*(soundNumber: INTEGER; userRoutine: SoundUPP);
  132.     (*$IF NOT GENERATINGCFM*)
  133.     INLINE PASCAL $205F, $4E90;
  134.     (*$END*)
  135.  
  136. PROCEDURE CallModalFilterProc*(theDialog: DialogPtr; VAR theEvent: Events.EventRecord; VAR itemHit: INTEGER; userRoutine: ModalFilterUPP): BOOLEAN;
  137.     (*$IF NOT GENERATINGCFM*)
  138.     INLINE PASCAL $205F, $4E90;
  139.     (*$END*)
  140.  
  141. PROCEDURE CallUserItemProc*(theWindow: Quickdraw.WindowPtr; itemNo: INTEGER; userRoutine: UserItemUPP);
  142.     (*$IF NOT GENERATINGCFM*)
  143.     INLINE PASCAL $205F, $4E90;
  144.     (*$END*)
  145. (*$IF NOT STRICT_WINDOWS *)
  146.  
  147. TYPE
  148.     DialogRecord* = RECORD
  149.         window*:                    Windows.WindowRecord;
  150.         items*:                    Types.Handle;
  151.         textH*:                    TextEdit.TEHandle;
  152.         editField*:                INTEGER;
  153.         editOpen*:                INTEGER;
  154.         aDefItem*:                INTEGER;
  155.     END;
  156.  
  157.     DialogPeek* = POINTER TO DialogRecord;
  158.  
  159. (*$END*)
  160.  
  161. TYPE
  162.     DialogTemplate* = RECORD
  163.         boundsRect*:                Types.Rect;
  164.         procID*:                    INTEGER;
  165.         visible*:                BOOLEAN;
  166.         filler1*:                BOOLEAN;
  167.         goAwayFlag*:                BOOLEAN;
  168.         filler2*:                BOOLEAN;
  169.         refCon*:                    LONGINT;
  170.         itemsID*:                INTEGER;
  171.         title*:                    Types.Str255;
  172.     END;
  173.  
  174.     DialogTPtr* = POINTER TO DialogTemplate;
  175.     DialogTHndl* = HANDLE TO DialogTemplate (*ΔΔ POINTER TO DialogTPtr*);
  176.  
  177.     AlertTemplate* = RECORD
  178.         boundsRect*:                Types.Rect;
  179.         itemsID*:                INTEGER;
  180.         stages*:                    StageList;
  181.     END;
  182.  
  183.     AlertTPtr* = POINTER TO AlertTemplate;
  184.     AlertTHndl* = HANDLE TO AlertTemplate (*ΔΔ POINTER TO AlertTPtr*);
  185.  
  186.  
  187. PROCEDURE InitDialogs*(ignored: (*ΔΔUNIVΔΔ*) Types.Ptr);
  188.     (*$IF NOT GENERATINGCFM*)
  189.     INLINE PASCAL $A97B;
  190.     (*$END*)
  191. PROCEDURE ErrorSound*(soundProc: SoundUPP);
  192.     (*$IF NOT GENERATINGCFM*)
  193.     INLINE PASCAL $A98C;
  194.     (*$END*)
  195. PROCEDURE NewDialog*(wStorage: (*ΔΔUNIVΔΔ*) Types.Ptr; (*CONST*)VAR boundsRect: Types.Rect; title: Types.ConstStr255Param; visible: BOOLEAN; procID: INTEGER; behind: Quickdraw.WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT; itmLstHndl: Types.Handle): DialogRef;
  196.     (*$IF NOT GENERATINGCFM*)
  197.     INLINE PASCAL $A97D;
  198.     (*$END*)
  199. PROCEDURE GetNewDialog*(dialogID: INTEGER; dStorage: (*ΔΔUNIVΔΔ*) Types.Ptr; behind: Quickdraw.WindowRef): DialogRef;
  200.     (*$IF NOT GENERATINGCFM*)
  201.     INLINE PASCAL $A97C;
  202.     (*$END*)
  203. PROCEDURE CloseDialog*(theDialog: DialogRef);
  204.     (*$IF NOT GENERATINGCFM*)
  205.     INLINE PASCAL $A982;
  206.     (*$END*)
  207. PROCEDURE DisposeDialog*(theDialog: DialogRef);
  208.     (*$IF NOT GENERATINGCFM*)
  209.     INLINE PASCAL $A983;
  210.     (*$END*)
  211. PROCEDURE ParamText*(param0: Types.ConstStr255Param; param1: Types.ConstStr255Param; param2: Types.ConstStr255Param; param3: Types.ConstStr255Param);
  212.     (*$IF NOT GENERATINGCFM*)
  213.     INLINE PASCAL $A98B;
  214.     (*$END*)
  215. PROCEDURE ModalDialog*(modalFilter: ModalFilterUPP; VAR itemHit: INTEGER);
  216.     (*$IF NOT GENERATINGCFM*)
  217.     INLINE PASCAL $A991;
  218.     (*$END*)
  219. PROCEDURE IsDialogEvent*((*CONST*)VAR theEvent: Events.EventRecord): BOOLEAN;
  220.     (*$IF NOT GENERATINGCFM*)
  221.     INLINE PASCAL $A97F;
  222.     (*$END*)
  223. PROCEDURE DialogSelect*((*CONST*)VAR theEvent: Events.EventRecord; VAR theDialog: DialogRef; VAR itemHit: INTEGER): BOOLEAN;
  224.     (*$IF NOT GENERATINGCFM*)
  225.     INLINE PASCAL $A980;
  226.     (*$END*)
  227. PROCEDURE DrawDialog*(theDialog: DialogRef);
  228.     (*$IF NOT GENERATINGCFM*)
  229.     INLINE PASCAL $A981;
  230.     (*$END*)
  231. PROCEDURE UpdateDialog*(theDialog: DialogRef; updateRgn: Quickdraw.RgnHandle);
  232.     (*$IF NOT GENERATINGCFM*)
  233.     INLINE PASCAL $A978;
  234.     (*$END*)
  235. PROCEDURE Alert*(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  236.     (*$IF NOT GENERATINGCFM*)
  237.     INLINE PASCAL $A985;
  238.     (*$END*)
  239. PROCEDURE StopAlert*(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  240.     (*$IF NOT GENERATINGCFM*)
  241.     INLINE PASCAL $A986;
  242.     (*$END*)
  243. PROCEDURE NoteAlert*(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  244.     (*$IF NOT GENERATINGCFM*)
  245.     INLINE PASCAL $A987;
  246.     (*$END*)
  247. PROCEDURE CautionAlert*(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  248.     (*$IF NOT GENERATINGCFM*)
  249.     INLINE PASCAL $A988;
  250.     (*$END*)
  251. PROCEDURE GetDialogItem*(theDialog: DialogRef; itemNo: INTEGER; VAR itemType: INTEGER; VAR item: Types.Handle; VAR box: Types.Rect);
  252.     (*$IF NOT GENERATINGCFM*)
  253.     INLINE PASCAL $A98D;
  254.     (*$END*)
  255. PROCEDURE SetDialogItem*(theDialog: DialogRef; itemNo: INTEGER; itemType: INTEGER; item: Types.Handle; (*CONST*)VAR box: Types.Rect);
  256.     (*$IF NOT GENERATINGCFM*)
  257.     INLINE PASCAL $A98E;
  258.     (*$END*)
  259. PROCEDURE HideDialogItem*(theDialog: DialogRef; itemNo: INTEGER);
  260.     (*$IF NOT GENERATINGCFM*)
  261.     INLINE PASCAL $A827;
  262.     (*$END*)
  263. PROCEDURE ShowDialogItem*(theDialog: DialogRef; itemNo: INTEGER);
  264.     (*$IF NOT GENERATINGCFM*)
  265.     INLINE PASCAL $A828;
  266.     (*$END*)
  267. PROCEDURE SelectDialogItemText*(theDialog: DialogRef; itemNo: INTEGER; strtSel: INTEGER; endSel: INTEGER);
  268.     (*$IF NOT GENERATINGCFM*)
  269.     INLINE PASCAL $A97E;
  270.     (*$END*)
  271. PROCEDURE GetDialogItemText*(item: Types.Handle; VAR text: Types.Str255);
  272.     (*$IF NOT GENERATINGCFM*)
  273.     INLINE PASCAL $A990;
  274.     (*$END*)
  275. PROCEDURE SetDialogItemText*(item: Types.Handle; text: Types.ConstStr255Param);
  276.     (*$IF NOT GENERATINGCFM*)
  277.     INLINE PASCAL $A98F;
  278.     (*$END*)
  279. PROCEDURE FindDialogItem*(theDialog: DialogRef; thePt: Types.Point): INTEGER;
  280.     (*$IF NOT GENERATINGCFM*)
  281.     INLINE PASCAL $A984;
  282.     (*$END*)
  283. PROCEDURE NewColorDialog*(dStorage: (*ΔΔUNIVΔΔ*) Types.Ptr; (*CONST*)VAR boundsRect: Types.Rect; title: Types.ConstStr255Param; visible: BOOLEAN; procID: INTEGER; behind: Quickdraw.WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT; items: Types.Handle): DialogRef;
  284.     (*$IF NOT GENERATINGCFM*)
  285.     INLINE PASCAL $AA4B;
  286.     (*$END*)
  287. PROCEDURE GetAlertStage*(): INTEGER;
  288.     (*$IF NOT CFMSYSTEMCALLS*)
  289.     INLINE PASCAL $3EB8, $0A9A;            (* MOVE.w $0A9A,(SP) *)
  290.     (*$END*)
  291.  
  292. PROCEDURE ResetAlertStage*;
  293.     (*$IF NOT GENERATINGCFM*)
  294.     INLINE PASCAL $4278, $0A9A;
  295.     (*$END*)
  296. PROCEDURE DialogCut*(theDialog: DialogRef);
  297.     EXTERNAL PASCAL;
  298. PROCEDURE DialogPaste*(theDialog: DialogRef);
  299.     EXTERNAL PASCAL;
  300. PROCEDURE DialogCopy*(theDialog: DialogRef);
  301.     EXTERNAL PASCAL;
  302. PROCEDURE DialogDelete*(theDialog: DialogRef);
  303.     EXTERNAL PASCAL;
  304. PROCEDURE SetDialogFont*(value: INTEGER);
  305.     (*$IF NOT CFMSYSTEMCALLS*)
  306.     INLINE PASCAL $31DF, $0AFA;            (* MOVE.w (SP)+,$0AFA *)
  307.     (*$END*)
  308.  
  309. PROCEDURE AppendDITL*(theDialog: DialogRef; theHandle: Types.Handle; method: DITLMethod);
  310.     EXTERNAL PASCAL;
  311. PROCEDURE CountDITL*(theDialog: DialogRef): INTEGER;
  312.     EXTERNAL PASCAL;
  313. PROCEDURE ShortenDITL*(theDialog: DialogRef; numberItems: INTEGER);
  314.     EXTERNAL PASCAL;
  315. PROCEDURE StdFilterProc*(theDialog: DialogRef; VAR event: Events.EventRecord; VAR itemHit: INTEGER): BOOLEAN;
  316.     EXTERNAL PASCAL;
  317. PROCEDURE GetStdFilterProc*(VAR theProc: ModalFilterUPP): Types.OSErr;
  318.     (*$IF NOT GENERATINGCFM*)
  319.     INLINE PASCAL $303C, $0203, $AA68;
  320.     (*$END*)
  321. PROCEDURE SetDialogDefaultItem*(theDialog: DialogRef; newItem: INTEGER): Types.OSErr;
  322.     (*$IF NOT GENERATINGCFM*)
  323.     INLINE PASCAL $303C, $0304, $AA68;
  324.     (*$END*)
  325. PROCEDURE SetDialogCancelItem*(theDialog: DialogRef; newItem: INTEGER): Types.OSErr;
  326.     (*$IF NOT GENERATINGCFM*)
  327.     INLINE PASCAL $303C, $0305, $AA68;
  328.     (*$END*)
  329. PROCEDURE SetDialogTracksCursor*(theDialog: DialogRef; tracks: BOOLEAN): Types.OSErr;
  330.     (*$IF NOT GENERATINGCFM*)
  331.     INLINE PASCAL $303C, $0306, $AA68;
  332.     (*$END*)
  333. (*$IF OLDROUTINENAMES *)
  334. (*$IF NOT GENERATINGCFM *)
  335. PROCEDURE CouldDialog*(dialogID: INTEGER);
  336.     (*$IF NOT GENERATINGCFM*)
  337.     INLINE PASCAL $A979;
  338.     (*$END*)
  339. PROCEDURE FreeDialog*(dialogID: INTEGER);
  340.     (*$IF NOT GENERATINGCFM*)
  341.     INLINE PASCAL $A97A;
  342.     (*$END*)
  343. PROCEDURE CouldAlert*(alertID: INTEGER);
  344.     (*$IF NOT GENERATINGCFM*)
  345.     INLINE PASCAL $A989;
  346.     (*$END*)
  347. PROCEDURE FreeAlert*(alertID: INTEGER);
  348.     (*$IF NOT GENERATINGCFM*)
  349.     INLINE PASCAL $A98A;
  350.     (*$END*)
  351. (*$END*)
  352. PROCEDURE DisposDialog*(theDialog: DialogRef);
  353.     (*$IF NOT GENERATINGCFM*)
  354.     INLINE PASCAL $A983;
  355.     (*$END*)
  356. PROCEDURE UpdtDialog*(theDialog: DialogRef; updateRgn: Quickdraw.RgnHandle);
  357.     (*$IF NOT GENERATINGCFM*)
  358.     INLINE PASCAL $A978;
  359.     (*$END*)
  360. PROCEDURE GetDItem*(theDialog: DialogRef; itemNo: INTEGER; VAR itemType: INTEGER; VAR item: Types.Handle; VAR box: Types.Rect);
  361.     (*$IF NOT GENERATINGCFM*)
  362.     INLINE PASCAL $A98D;
  363.     (*$END*)
  364. PROCEDURE SetDItem*(theDialog: DialogRef; itemNo: INTEGER; itemType: INTEGER; item: Types.Handle; (*CONST*)VAR box: Types.Rect);
  365.     (*$IF NOT GENERATINGCFM*)
  366.     INLINE PASCAL $A98E;
  367.     (*$END*)
  368. PROCEDURE HideDItem*(theDialog: DialogRef; itemNo: INTEGER);
  369.     (*$IF NOT GENERATINGCFM*)
  370.     INLINE PASCAL $A827;
  371.     (*$END*)
  372. PROCEDURE ShowDItem*(theDialog: DialogRef; itemNo: INTEGER);
  373.     (*$IF NOT GENERATINGCFM*)
  374.     INLINE PASCAL $A828;
  375.     (*$END*)
  376. PROCEDURE SelIText*(theDialog: DialogRef; itemNo: INTEGER; strtSel: INTEGER; endSel: INTEGER);
  377.     (*$IF NOT GENERATINGCFM*)
  378.     INLINE PASCAL $A97E;
  379.     (*$END*)
  380. PROCEDURE GetIText*(item: Types.Handle; VAR text: Types.Str255);
  381.     (*$IF NOT GENERATINGCFM*)
  382.     INLINE PASCAL $A990;
  383.     (*$END*)
  384. PROCEDURE SetIText*(item: Types.Handle; text: Types.ConstStr255Param);
  385.     (*$IF NOT GENERATINGCFM*)
  386.     INLINE PASCAL $A98F;
  387.     (*$END*)
  388. PROCEDURE FindDItem*(theDialog: DialogRef; thePt: Types.Point): INTEGER;
  389.     (*$IF NOT GENERATINGCFM*)
  390.     INLINE PASCAL $A984;
  391.     (*$END*)
  392. PROCEDURE NewCDialog*(dStorage: (*ΔΔUNIVΔΔ*) Types.Ptr; (*CONST*)VAR boundsRect: Types.Rect; title: Types.ConstStr255Param; visible: BOOLEAN; procID: INTEGER; behind: Quickdraw.WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT; items: Types.Handle): DialogRef;
  393.     (*$IF NOT GENERATINGCFM*)
  394.     INLINE PASCAL $AA4B;
  395.     (*$END*)
  396. PROCEDURE DlgCut*(theDialog: DialogRef);
  397.     EXTERNAL PASCAL;
  398. PROCEDURE DlgPaste*(theDialog: DialogRef);
  399.     EXTERNAL PASCAL;
  400. PROCEDURE DlgCopy*(theDialog: DialogRef);
  401.     EXTERNAL PASCAL;
  402. PROCEDURE DlgDelete*(theDialog: DialogRef);
  403.     EXTERNAL PASCAL;
  404. PROCEDURE SetDAFont*(fontNum: INTEGER);
  405.     (*$IF NOT GENERATINGCFM*)
  406.     INLINE PASCAL $31DF, $0AFA;
  407.     (*$END*)
  408. (*$ELSE*)
  409. (*$END*)
  410.  
  411. (* $ALIGN RESET*)
  412. (* $POP*)
  413.  
  414.  END Dialogs.
  415.